all: test.exe bench.exe

CFLAGS = /I ..\win32 /I ..\..\..\build-alpha\include /I ..\common /I ..\or \
    /I ..\ext

LIBS = ..\..\..\build-alpha\lib\libevent.lib \
 ..\..\..\build-alpha\lib\libcrypto.lib \
 ..\..\..\build-alpha\lib\libssl.lib \
 ..\..\..\build-alpha\lib\libz.lib \
 ..\or\libtor.lib \
 ws2_32.lib advapi32.lib shell32.lib \
 crypt32.lib gdi32.lib user32.lib

TEST_OBJECTS = test.obj test_addr.obj test_channel.obj test_channeltls.obj \
        test_consdiff.obj test_containers.obj \
	test_controller_events.obj test_crypto.obj test_data.obj test_dir.obj \
	test_checkdir.obj test_microdesc.obj test_pt.obj test_util.obj \
        test_config.obj test_connection.obj \
	test_cell_formats.obj test_relay.obj test_replay.obj \
	test_channelpadding.obj \
	test_circuitstats.obj \
	test_circuitpadding.obj \
	test_scheduler.obj test_introduce.obj test_hs.obj tinytest.obj

tinytest.obj: ..\ext\tinytest.c
	$(CC) $(CFLAGS) /D snprintf=_snprintf /c ..\ext\tinytest.c

test.exe: $(TEST_OBJECTS)
	$(CC) $(CFLAGS) $(LIBS) ..\common\*.lib $(TEST_OBJECTS) /Fe$@

bench.exe: bench.obj
	$(CC) $(CFLAGS) bench.obj $(LIBS) ..\common\*.lib /Fe$@

clean:
	del *.obj *.lib test.exe bench.exe
